Processors may be used for executing one or more macroinstructions. Processors may include one or more execution units (EUs).
A processor having a plurality of execution units may include an out-of-order (OOO) subsystem to use the EUs in an efficient manner. The OOO subsystem may enable more than one microinstruction (uop) to be executed at the same time, although the uops may be executed in a different order than the order in which they were received by the OOO subsystem. The OOO subsystem may control the execution of uops by, for example, keeping records of the completion of load operations of uops and/or operands and of the dependencies of a certain uop on the completion of previous load operation.
The OOO subsystem may also include a reservation station (RS) to dispatch the uops to the different EUs. The RS may store a uop and source operands to be used for executing the uop. The RS may transfer the source operands and the uop to an EU intended to execute the uop, e.g., when the EU is available, and upon completely receiving the source operands. The EU may execute the uop using the source operands received from for example a register file (RF) or from a bypass network.
Additional uops which are waiting for data of the same load operation may be also considered to be dependent on that load operation. A load operation may fail, and in case of a failure the operations which await the data associated with that load operation may need to be identified to be rescheduled for additional data loading. Solutions which check the list of waiting uops to identify which of them need to be rescheduled following the end of every load operation may impose high computational and electrical load on the processor and may therefore slow the operation of the processor and increase its power consumption.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.